/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tpopticomb;
import Algorithmes.*;
import Modele.*;
/**
 *
 * @author Khai Minh NGUYEN
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    //static String fichier = "D:/BaiHoc/5annee/OptimisationCombinatoire/TP/TPOptiComb/src/Instances/a280.tsp";

    //pour Rodrigo
    //static String fichier = "/Users/rodrigocvb/NetBeansProjects/TPOptiComb/src/Instances/a280.tsp";

    //pour Khai Minh
    static String fichier = "D:/BaiHoc/5annee/OptimisationCombinatoire/TP/TPOptiComb/TPOptiComb/src/Instances/a280.tsp";

    public static void main(String[] args) {
        // TODO code application logic here
       
        TSPLib_Data source = new TSPLib_Data();
        int origine = 0;
        source.read(fichier);

        Solution solutionInitiale;

        //System.out.println(source.getNbrSommets());
        source.creerInstanceRSP(3);

        Heuristiques Instance = new Heuristiques(source, origine);

        Instance.heuristiqueDeBase(source);

        Instance.getSolution().reconstruireCycle(origine);
        Instance.getSolution().afficher();

        solutionInitiale = Instance.getSolution();

        MetaHeuristiques tabou = new MetaHeuristiques(solutionInitiale, 10);

        Cycle modele = new Cycle(source);

        tabou.genererVoisinage(modele);

        tabou.getMeilleureSolution().reconstruireCycle(origine);
        tabou.getMeilleureSolution().afficher();

    }

}
